ヘッダーをスキップ
Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド
リリース6.0
B25769-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

キャッシュ・グループのレプリケート

キャッシュ・グループは、キャッシュ・グループまたは標準のTimesTen表にレプリケートできます。まず、キャッシュ・グループ、次にレプリケーション・スキームを設定します。

注意: 自動リフレッシュ・キャッシュ・グループ間にレプリケーションは設定しないでください。自動リフレッシュ・キャッシュ・グループは、Oracleから更新を直接受信します。

キャッシュ・グループは、次のいずれかの方法でレプリケートできます。

ttRepAdminによるキャッシュ・グループのレプリケーションの設定

キャッシュ・グループを複製するには、-duplicateオプションを指定してttRepAdminユーティリティを使用し、キャッシュ・グループが含まれているデータ・ストアを複製します。-duplicateオプションには、-keepCGおよび-noKeepCGの2つオプションがあります。-keepCGオプションを使用すると、キャッシュ・グループの複製時にキャッシュ・グループの定義が保持されます。-noKeepCGオプションを使用すると、キャッシュ・グループの定義は保持されません。この場合、複製時にキャッシュ・グループ表が標準のTimesTen表に変換されます。

ttRepAdmin -duplicate -keepCGは、キャッシュ・グループ間のレプリケーションの設定、またキャッシュ・グループが含まれているマスター・データ・ストアで障害が発生した場合に適用されるフェイルオーバーで使用します。

ttRepAdmin -duplicate -noKeepCGは、ロード・バランシングのためにキャッシュ・グループと標準のTimesTen表間のレプリケーションを設定する場合に使用します。

次の項では、ttRepAdmin -duplicateの-keepCGおよび-noKeepCGオプションの使用例を示します。

双方向ホット・スタンバイ自動リフレッシュ・キャッシュ・グループ: -keepCGオプション

この使用例では、マスター・データ・ストアに自動リフレッシュ・キャッシュ・グループ、およびキャッシュ・グループに属していないTimesTen表が含まれています。-keepCGオプションを使用すると、自動リフレッシュ・キャッシュ・グループの定義を保持したサブスクライバ・データ・ストアを作成できます。

キャッシュ・グループは、Oracleから直接自動リフレッシュされるように設定する必要があります。これによって、データの可用性が保証されます。キャッシュ・グループに属していないTimesTen表は、マスター・データ・ストアとサブスクライバ・データ・ストア間のレプリケーション・スキームに含める必要があります。

図3.4を参照してください。

図3.4 双方向ホット・スタンバイ自動リフレッシュ・キャッシュ・グループ

同じ自動リフレッシュ・キャッシュ・グループが含まれている双方向ホット・スタンバイ・データ・ストアのペアを設定するには、次の手順を実行します。

  1. マスター・データ・ストアを作成します。
  2. マスター・データ・ストアのキャッシュ・エージェントを起動します。
  3. マスター・データ・ストア、およびサブスクライバ・データ・ストアが作成されるノードに自動リフレッシュ・キャッシュ・グループを作成します。
  4. レプリケーション・スキームを作成します。
  5. マスター・データ・ストアのレプリケーション・エージェントを起動します。
  6. -keepCGオプションを指定してttRepAdmin -duplicateを使用し、サブスクライバ・データ・ストアを作成します。-keepCGオプションを使用すると、サブスクライバ・データ・ストア用の自動リフレッシュ・オブジェクトがOracleデータベースに設定されます。キャッシュ・グループは自動リフレッシュであるため、キャッシュ管理ユーザーIDおよびパスワードを入力する必要があります。
  7. サブスクライバ・データ・ストアのレプリケーション・エージェントを起動します。
  8. サブスクライバ・データ・ストアのキャッシュ・エージェントを起動します。
  9. マスター・データ・ストア障害からリカバリするには、マスター・データ・ストアでステップ6から8までを実行します。

双方向ホット・スタンバイWRITETHROUGHキャッシュ・グループ: -keepCGオプション

この使用例では、マスター・データ・ストアにASYNCHRONOUS WRITETHROUGHキャッシュ・グループまたはSYNCHRONOUS WRITETHROUGHキャッシュ・グループが含まれています。-keepCGオプションを使用すると、WRITETHROUGHキャッシュ・グループの定義を保持したサブスクライバ・データ・ストアを作成できます。図3.5を参照してください。

図3.5 双方向ホット・スタンバイWRITETHROUGHキャッシュ・グループ

同じWRITETHROUGHキャッシュ・グループが含まれている双方向ホット・スタンバイ・データ・ストアのペアを設定するには、次の手順を実行します。

  1. マスター・データ・ストアを作成します。
  2. WRITETHROUGHキャッシュ・グループがASYNCHRONOUSである場合は、キャッシュ管理ユーザーIDおよびパスワードを登録します。
  3. マスター・データ・ストア、およびサブスクライバ・データ・ストアが作成されるノードにWRITETHROUGHキャッシュ・グループを作成します。
  4. マスター・データ・ストアのレプリケーション・エージェントを起動します。
  5. 北eepCGオプションを指定してttRepAdmin -duplicateを使用し、サブスクライバ・データ・ストアを作成します。-keepCGオプションを使用すると、サブスクライバ・データ・ストア用のAWTオブジェクトがOracleデータベースに設定されます。キャッシュ・グループが自動リフレッシュまたはAWTの場合は、キャッシュ管理ユーザーIDおよびパスワードを入力する必要があります。
  6. サブスクライバ・データ・ストアのレプリケーション・エージェントを起動します。
  7. WRITETHROUGHキャッシュ・グループがASYNCHRONOUSの場合は、マスター・データ・ストアで障害が発生した後、サブスクライバ・データ・ストアとOracleデータベースが異なるレプリケーション状態になることがあります。アプリケーションで、トランザクションの一部を再実行して、それらを同じ状態にする必要がある場合があります。

    マスター・データ・ストア障害からリカバリするには、マスター・データ・ストアでステップ5および6を実行します。

注意: データ・ストアには、複数の自動リフレッシュ・キャッシュ・グループおよびWRITETHROUGHキャッシュ・グループを含めることができます。この項で説明した手順は、WRITETHROUGHキャッシュ・グループ間のレプリケーションを設定するもので、自動リフレッシュ・キャッシュ・グループ間のレプリケーションを設定するものではありません。「双方向ホット・スタンバイ自動リフレッシュ・キャッシュ・グループ: -keepCGオプション」を参照してください。

ロード・バランシング自動リフレッシュ・キャッシュ・グループ: -noKeepCGオプション

この使用例では、マスター・データ・ストアにOracleデータベースからの変更を受信する自動リフレッシュ・キャッシュ・グループが含まれています。マスター・データ・ストアは、読取り専用アクセス用のサブスクライバ・データ・ストアにレプリケートされます。サブスクライバ・データ・ストアには、キャッシュ・グループに属していないTimesTen表が含まれます。自動リフレッシュは、マスター・データ・ストアでのみ実行されます。サブスクライバ・データ・ストアはOracleデータベースと通信しないため、Oracleクライアントがインストールされていない場合があります。図3.6を参照してください。

図3.6 ロード・バランシング自動リフレッシュ・キャッシュ・グループ

ロード・バランシング自動リフレッシュ・キャッシュ・グループに対するレプリケーションを設定するには、次の手順を実行します。

  1. マスター・データ・ストアを作成します。
  2. マスター・データ・ストアのキャッシュ・エージェントを起動します。
  3. マスター・データ・ストアで自動リフレッシュ・キャッシュ・グループを作成します。
  4. レプリケーション・スキームを作成します。
  5. マスター・データ・ストアのレプリケーション・エージェントを起動します。
  6. -noKeepCGオプションを指定してttRepAdmin -duplicateを使用し、サブスクライバ・データ・ストアを作成します。
  7. サブスクライバ・データ・ストアのレプリケーション・エージェントを起動します。

CREATE CACHE GROUPによるキャッシュ・グループのレプリケーションの設定

キャッシュ・グループ間にレプリケーションを設定するもう1つの方法として、CREATE CACHE GROUP文で両方のキャッシュ・グループを作成してから、レプリケーション・スキームを設定する方法があります。両方のキャッシュ・グループで同じグループ・タイプを指定する必要があります。たとえば、READONLYキャッシュ・グループは、別のREADONLYキャッシュ・グループにのみレプリケートできます。また、CREATE CACHE GROUP文で指定するキャッシュ・グループ属性も同じである必要があります。ただし、AUTOREFRESH、READONLYおよびPROPAGATE属性は例外です(「キャッシュ・グループ間の単方向レプリケーション」および「キャッシュ・グループ間の双方向レプリケーション」を参照)。

キャッシュ・グループ間の単方向レプリケーション

キャッシュ・グループを単方向レプリケーション・スキームでレプリケートする場合は、マスター・データ・ストアのキャッシュ・グループのみでAUTOREFRESHを指定できます。サブスクライバ・データ・ストアのキャッシュ・グループではAUTOREFRESHを無効にする必要があります。

表3.1に、レプリケーション・データ・ストアで指定可能なキャッシュ・グループ設定の概要を示します。

表3.1 キャッシュ・グループ間の単方向レプリケーション
マスター・キャッシュ・グループの設定
サブスクライバ・キャッシュ・グループの設定
制限
読取り専用キャッシュ・グループ
読取り専用キャッシュ・グループ
サブスクライバで、AUTOREFRESH STATE OFFを指定する必要があります。
WRITETHROUGHキャッシュ・グループ
WRITETHROUGHキャッシュ・グループ
制限なし。
読取り専用表での自動リフレッシュ
読取り専用表での自動リフレッシュ
サブスクライバで、AUTOREFRESH STATE OFFを指定する必要があります。
伝播される表を含む
伝播される表を含む
制限なし。
伝播されない表を含む
制限なし。
エージング
エージング
期間を同じにする必要があります。
双方向に伝播される表を含む
双方向に伝播される表を含む
マスターおよびサブスクライバで、AUTOREFRESH STATE OFFを指定する必要があります。
伝播されない表を含む
制限なし。
伝播されない表を含む
伝播されない表を含む
制限なし。
伝播される表を含む
制限なし。
注意: WHERE句は、マスター・キャッシュ・グループとサブスクライバ・キャッシュ・グループに対して同じである必要があります。

詳細は次のとおりです。

キャッシュ・グループ間の双方向レプリケーション

キャッシュ・グループを双方向レプリケーション・スキームでレプリケートする場合、キャッシュ・グループの1つのみでAUTOREFRESHを指定できます。

詳細は次のとおりです。

注意: レプリケーション・エージェントは、ALTER CACHE GROUPによって行われた変更を認識しません。ALTER CACHE GROUPを使用してAUTOREFRESH STATEを再設定した場合は、レプリケーション・エージェントを再起動する必要があります。